Motion-activated display of messages on an activity monitoring device

ABSTRACT

Methods, systems and devices are provided for motion-activated display of messages on an activity monitoring device. In one embodiment, an activity monitoring device is provided, including: a memory configured to store a plurality of messages; a motion sensor; a display; logic configured to download the plurality of messages to the memory; logic implemented by a circuit configured to detect, based on output of the motion sensor, a stationary state of the activity monitoring device and a subsequent movement of the activity monitoring device from the stationary state, and, in response to detecting the movement from the stationary state, select one of the plurality of messages from the memory, and render the selected message on the display; wherein selecting one of the plurality of messages includes determining a selection condition.

CLAIM OF PRIORITY

This application is a continuation of U.S. patent application Ser. No.14/580,808, filed Dec. 23, 2014, titled “Motion-Activated Display ofMessages on an Activity Monitoring Device,” which is a continuation ofU.S. patent application Ser. No. 14/271,389, filed on May 6, 2014,titled “Motion-Activated Display of Messages on an Activity MonitoringDevice,” which is a continuation-in-part of U.S. patent application Ser.No. 13/959,714, published as U.S. Patent Application Publication No.20140039841, filed on Aug. 5, 2013, titled “Methods and Systems forIdentification of Event Data Having Combined Activity and LocationInformation of Portable Monitoring Devices,” which is acontinuation-in-part of U.S. patent application Ser. No. 13/693,334, nowU.S. Pat. No. 8,548,770, filed on Dec. 4, 2012, titled “PortableMonitoring Devices and Methods for Operating Same”, which is adivisional of U.S. patent application Ser. No. 13/667,229, now U.S. Pat.No. 8,437,980, filed on Nov. 2, 2012, titled “Portable MonitoringDevices and Methods for Operating Same”, which is a divisional of U.S.patent application Ser. No. 13/469,027, now U.S. Pat. No. 8,311,769,filed on May 10, 2012, titled “Portable Monitoring Devices and Methodsfor Operating Same”, which is a divisional of U.S. patent applicationSer. No. 13/246,843, now U.S. Pat. No. 8,180,591, filed on Sep. 27,2011, which is a divisional of U.S. patent application Ser. No.13/156,304, published as U.S. Patent Application Publication No.20120083715, filed on Jun. 8, 2011, titled “Portable Monitoring Devicesand Methods for Operating Same”, which claims the benefit of andpriority to, under 35 U.S.C. 119§(e), to U.S. Provisional PatentApplication No. 61/388,595, filed on Sep. 30, 2010, and titled “PortableMonitoring Devices and Methods for Operating Same”, and to U.S.Provisional Patent Application No. 61/390,811, filed on Oct. 7, 2010,and titled “Portable Monitoring Devices and Methods for Operating Same”,all of which are hereby incorporated by reference in their entirety.

U.S. patent application Ser. No. 13/959,714 is a continuation-in-part ofU.S. patent application Ser. No. 13/759,485, now U.S. Pat. No.8,543,351, filed on Feb. 5, 2013, titled “Portable Monitoring Devicesand Methods for Operating Same”, which is a divisional of U.S. patentapplication Ser. No. 13/667,229, filed on Nov. 2, 2012, titled “PortableMonitoring Devices and Methods for Operating Same”, which is adivisional of U.S. patent application Ser. No. 13/469,027, now U.S. Pat.No. 8,311,769, filed on May 10, 2012, titled “Portable MonitoringDevices and Methods for Operating Same”, which is a divisional of U.S.patent application Ser. No. 13/246,843, now U.S. Pat. No. 8,180,591,filed on Sep. 27, 2011, which is a divisional of U.S. patent applicationSer. No. 13/156,304, filed on Jun. 8, 2011, titled “Portable MonitoringDevices and Methods for Operating Same”, which claims the benefit of andpriority to, under 35 U.S.C. 119§(e), to U.S. Provisional PatentApplication No. 61/388,595, filed on Sep. 30, 2010, and titled “PortableMonitoring Devices and Methods for Operating Same” and to U.S.Provisional Patent Application No. 61/390,811, filed on Oct. 7, 2010,and titled “Portable Monitoring Devices and Methods for Operating Same”,all of which are hereby incorporated by reference in their entirety.

FIELD

The present disclosure relates to systems and methods formotion-activated display of messages on an activity monitoring device.

BACKGROUND

In recent years, the need for health and fitness has grown tremendously.The growth has occurred due to a better understanding of the benefits ofgood fitness to overall health and wellness. Unfortunately, althoughtoday's modern culture has brought about many new technologies, such asthe Internet, connected devices and computers, people have become lessactive. Additionally, many office jobs require people to sit in front ofcomputer screens for long periods of time, which further reduces aperson's activity levels. Furthermore, much of today's entertainmentoptions involve viewing multimedia content, computer social networking,and other types of computer involved interfacing. Although such computeractivity can be very productive as well as entertaining, such activitytends to reduce a person's overall physical activity.

To provide users concerned with health and fitness a way of measuring oraccounting for their activity or lack thereof, fitness activity trackershave recently grown in popularity. Fitness activity trackers are used tomeasure activity, such as walking, motion, running, sleeping, beinginactive, bicycling, exercising on an elliptical trainer, and the like.Typically, the data collected by such devices can be transferred andviewed on a computing device. However, while fitness activity trackersenable many data-intensive features relating to fitness activity,interfacing with a fitness activity tracker can feel sterile and roboticto a user.

It is in this context that embodiments of the invention arise.

SUMMARY

Embodiments described in the present disclosure provide systems,apparatus, computer readable media, and methods for displayingmotion-activated messages on a portable activity monitoring device.

In one embodiment, a method for presenting a message on an activitymonitoring device is provided, including: storing a plurality ofmessages to the device; detecting a non-user interactive state of thedevice; detecting a change of the device from the non-user interactivestate to a user-interactive state; in response to detecting the changefrom the non-user interactive state to the user-interactive state,selecting one of a plurality of messages, and displaying the selectedmessage on the device; wherein selecting one of the plurality ofmessages is based on one or more of a length of time of the non-userinteractive state, a current time of day, a current location of thedevice, or an activity history associated with a user of the device;wherein the method is executed by at least one processor.

In one embodiment, detecting the non-user interactive state includesdetecting a stationary state that is defined by non-movement of thedevice for a predefined time period; and detecting the change of thedevice from the non-user interactive state to the user-interactive stateincludes detecting a movement of the device from the stationary state.

In one embodiment, detecting the change from the non-user interactivestate to the user interactive state includes detecting a movement of thedevice from a first orientation to a second orientation.

In one embodiment, detecting the non-user interactive state includesdetecting a charging state of the device; and detecting the change fromthe non-user interactive state to the user interactive state includesdetecting a change of the device from the charging state to anon-charging state.

In one embodiment, detecting the change from the non-user interactivestate to the user interactive state includes detecting one or more of abutton press or a touchscreen input.

In one embodiment, the device is configured to detect one or more of thefollowing activities by a user: steps taken, energy consumed, elevationgained, active minutes.

In one embodiment, storing the plurality of messages includesidentifying the device to a server and downloading the plurality ofmessages from the server, the server being configured to access a useraccount associated with the device, the plurality of messages beingselected by the server based on the user account.

In one embodiment, at least one of the plurality of messages is definedbased on one or more of a current date, a location of the device, acurrent season, or a current weather.

In one embodiment, at least one of the plurality of messages is definedbased on an activity history of a user associated with the device.

In one embodiment, the activity history is defined by levels of activityassociated to specific time periods.

In one embodiment, at least one of the plurality of messages is definedby input received from a secondary user, the secondary user being amember of a social graph of a primary user associated with the device.

In one embodiment, the operations of selecting and displaying are notperformed during a time period for which an event is scheduled in acalendar of a user of the device.

In another embodiment, a method for presenting a message on an activitymonitoring device is provided, comprising: storing a plurality ofmessages to the device; detecting a stationary state of the device;detecting a movement of the device from the stationary state; inresponse to detecting the movement from the stationary state, selectingone of a plurality of messages, and displaying the selected message onthe device; wherein at least one of the plurality of messages is definedbased on one or more of a current date, a location of the device, acurrent season, or a current weather; wherein the method is executed byat least one processor.

In one embodiment, detecting the stationary state includes detectingnon-movement of the device for a predefined time period.

In one embodiment, storing the plurality of messages includesidentifying the device to a server and downloading the plurality ofmessages from the server, the server being configured to access a useraccount associated with the device, the plurality of messages beingselected by the server based on the user account.

In one embodiment, at least one of the plurality of messages is definedbased on an activity history of a user associated with the device.

In one embodiment, the activity history is defined by levels of activityassociated to specific time periods.

In one embodiment, at least one of the plurality of messages is definedby input received from a secondary user, the secondary user being amember of a social graph of a primary user associated with the device.

In one embodiment, the operations of selecting and displaying are notperformed during a time period for which an event is scheduled in acalendar of a user of the device.

In another embodiment, an activity monitoring device is provided,comprising: a message storage device configured to store a plurality ofmessages; a motion sensor; a display; logic configured to detect, basedon output of the motion sensor, a stationary state of the device and asubsequent movement of the device from the stationary state, and, inresponse to detecting the movement from the stationary state, select oneof the plurality of messages, and display the selected message on thedevice; wherein at least one of the plurality of messages is definedbased on an activity history of a user associated with the device;wherein the method is executed by at least one processor.

In one embodiment, detecting the stationary state includes detectingnon-movement of the device for a predefined time period.

In one embodiment, selecting one of the plurality of messages is basedon one or more of a length of time of the stationary state, a currenttime of day, a current location of the device, or an activity historyassociated with a user of the device.

In one embodiment, at least one of the plurality of messages is definedbased on one or more of a current date, a location of the device, acurrent season, or a current weather.

In one embodiment, the activity history is defined by levels of activityassociated to specific time periods.

In one embodiment, at least one of the plurality of messages is definedby input received from a secondary user, the secondary user being amember of a social graph of a primary user associated with the device.

In one embodiment, the activity monitoring device further comprises:logic configured to download the plurality of messages to the messagestorage, wherein the downloading includes identifying the device to aserver, the server being configured to access a user account associatedwith the device, the plurality of messages being selected by the serverbased on the user account.

In another embodiment, an activity monitoring device is provided,comprising: a message storage device configured to store a plurality ofmessages; a motion sensor; a display; logic configured to detect, basedon output of the motion sensor, a stationary state of the device and asubsequent movement of the device from the stationary state, and, inresponse to detecting the movement from the stationary state, select oneof the plurality of messages, and display the selected message on thedevice; wherein at least one of the plurality of messages is defined byinput received from a secondary user, the secondary user being a memberof a social graph of a primary user associated with the device; whereinthe method is executed by at least one processor.

In one embodiment, detecting the stationary state includes detectingnon-movement of the device for a predefined time period.

In one embodiment, selecting one of the plurality of messages is basedon one or more of a length of time of the stationary state, a currenttime of day, a current location of the device, or an activity historyassociated with a user of the device.

In one embodiment, at least one of the plurality of messages is definedbased on one or more of a current date, a location of the device, acurrent season, or a current weather.

In one embodiment, at least one of the plurality of messages is definedbased on an activity history of a user associated with the device.

In one embodiment, the activity history is defined by levels of activityassociated to specific time periods.

In one embodiment, the activity monitoring device further comprises:logic configured to download the plurality of messages to the messagestorage, wherein the downloading includes identifying the device to aserver, the server being configured to access a user account associatedwith the device, the plurality of messages being selected by the serverbased on the user account.

In another embodiment, a method for presenting a message on an activitymonitoring device is provided, comprising: storing a plurality ofmessages to the device; detecting a stationary state of the device;detecting a movement of the device from the stationary state; inresponse to detecting the movement from the stationary state, selectingone of a plurality of messages, and displaying the selected message onthe device; wherein the operations of selecting and displaying are notperformed during a time period for which an event is scheduled in acalendar of a user of the device; wherein the method is executed by atleast one processor.

In another embodiment, a method for presenting messages on an activitymonitoring device is provided, including the following methodoperations: receiving a request to synchronize the device with a useraccount to which the device is associated; retrieving profile data fromthe user account; selecting one or more messages from a message storagebased on the profile data; sending the selected messages to the device,the device configured to display at least one of the selected messagesin response to detecting movement of the device from a stationary state.

In one embodiment, the profile data defines one or more of an age, agender, a location, or a historical activity profile.

In one embodiment, selecting one or more messages is based on one ormore of a current date, a current day of the week, a current location ofthe device, an activity history associated with a user of the device, acurrent season, a current weather, and social network activity.

In one embodiment, one of the selected messages is defined by asecondary user, the secondary user being a member of a social graph of aprimary user associated with the device.

Other aspects will become apparent from the following detaileddescription, taken in conjunction with the accompanying drawings,illustrating by way of example the principles of embodiments describedin the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments described in the present disclosure may best beunderstood by reference to the following description taken inconjunction with the accompanying drawings.

FIG. 1A shows a block diagram of an activity tracking device, inaccordance with one embodiment of the present invention.

FIG. 1B illustrates an example of an activity tracking device includingexample components utilized for tracking activity and motion of thedevice, and associated interfaces to a display screen, in accordancewith one embodiment of the present invention.

FIG. 2 illustrates an example of activity tracking device incommunication with a remote device, in accordance with one embodiment ofthe present invention.

FIG. 3A illustrates a perspective view of a portable activity monitoringdevice, in accordance with an embodiment of the invention.

FIG. 3B illustrates a top view of an activity monitoring device, inaccordance with an embodiment of the invention.

FIG. 3C illustrates a top view of an activity monitoring device disposedin a carrying case, in accordance with an embodiment of the invention.

FIG. 3D illustrates a side view of an activity monitoring devicedisposed in a carrying case, in accordance with an embodiment of theinvention.

FIG. 4 conceptually illustrates the display of a motion-activatedmessage on a portable activity monitoring device, in accordance with anembodiment of the invention.

FIG. 5A illustrates a cross-section view of a portable activitymonitoring device, in accordance with an embodiment of the invention.

FIG. 5B illustrates a cross-section view of a portable activitymonitoring device, in accordance with an embodiment of the invention.

FIG. 5C illustrates an activity monitoring device placed upside-down ona substantially horizontal surface, in accordance with an embodiment ofthe invention.

FIG. 6 illustrates an activity monitoring device in the form of awearable wrist attachable device, in accordance with an embodiment ofthe invention.

FIG. 7 conceptually illustrates a process for displaying amotion-activated message on an activity monitoring device, in accordancewith an embodiment of the invention.

FIG. 8 conceptually illustrates components of an activity monitoringdevice, in accordance with an embodiment of the invention.

FIG. 9 conceptually illustrates selection of a motion activated messageat an activity monitoring device based on a variety of factors, inaccordance with an embodiment of the invention.

FIG. 10 conceptually illustrates a system for determining motionactivated messages to be presented on an activity monitoring device, inaccordance with an embodiment of the invention.

FIG. 11 conceptually illustrates various factors which may be consideredfor purposes of selecting one or more messages to be sent to an activitymonitoring device for display in response to motion activation, inaccordance with an embodiment of the invention.

FIG. 12 illustrates a system for enabling a first user to generate amessage that will be displayed to a second user in response to motion ofan activity monitoring device of the second user, in accordance with anembodiment of the invention.

FIG. 13 illustrates an interface for accessing activity data associatedwith the user of an activity monitoring device, in accordance with anembodiment of the invention.

FIG. 14 illustrates an example where various types of activities ofusers can be captured or collected by activity tracking devices, inaccordance with various embodiments of the present invention.

DETAILED DESCRIPTION

Embodiments described in the present disclosure provide systems,apparatus, computer readable media, and methods for displayingmotion-activated messages on a portable activity monitoring device.

It should be noted that there are many inventions described andillustrated herein. The present inventions are neither limited to anysingle aspect nor embodiment thereof, nor to any combinations and/orpermutations of such aspects and/or embodiments. Moreover, each of theaspects of the present inventions, and/or embodiments thereof, may beemployed alone or in combination with one or more of the other aspectsof the present inventions and/or embodiments thereof. For the sake ofbrevity, many of those permutations and combinations will not bediscussed separately herein.

Further, in the course of describing and illustrating the presentinventions, various circuitry, architectures, structures, components,functions and/or elements, as well as combinations and/or permutationsthereof, are set forth. It should be understood that circuitry,architectures, structures, components, functions and/or elements otherthan those specifically described and illustrated, are contemplated andare within the scope of the present inventions, as well as combinationsand/or permutations thereof.

FIG. 1 shows a block diagram of an activity tracking device 100, inaccordance with one embodiment of the present invention. The activitytracking device 100 is contained in a housing, which may be worn or heldby a user. The housing may be in the form of a wristband, a clip ondevice, a wearable device, or may be held by the user either in theuser's hand or in a pocket or attached to the user's body. The activitytracking device 100 includes device components 102, which may be in theform of logic, storage, and glue logic, one or more processors,microelectronics, and interfacing circuitry. In one example, thecomponents 102 will include a processor 106, memory 108, a wirelesstransceiver 110, a user interface 114, biometric sensors 116, andenvironmental sensors 118.

The environmental sensors 118 may be in the form of motion detectingsensors. In some embodiments, a motion sensor can be one or more of anaccelerometer, or a gyroscope, or a rotary encoder, or a caloriemeasurement sensor, or a heat measurement sensor, or a moisturemeasurement sensor, or a displacement sensor, or an ultrasonic sensor,or a pedometer, or an altimeter, or a linear motion sensor, or anangular motion sensor, or a multi-axis motion sensor, or a combinationthereof. The biometric sensors 116 can be defined to measurephysiological characteristics of the user that is using the activitytracking device 100. The user interface 114 provides a way forcommunicating with the activity tracking device 100, in response to userinteraction 104. The user interaction 104 can be in the form of physicalcontact (e.g., without limitation, tapping, sliding, rubbing, multipletaps, gestures, etc.).

In some embodiments, the user interface 114 is configured to receiveuser interaction 104 by way of proximity sensors, button presses, touchsensitive screen inputs, graphical user interface inputs, voice inputs,sound inputs, etc. The activity tracking device 100 can communicate witha client and/or server 112 using the wireless transceiver 110. Thewireless transceiver 110 will allow the activity tracking device 100 tocommunicate using a wireless connection, which is enabled by wirelesscommunication logic. The wireless communication logic can be in the formof a circuit having radio communication capabilities. The radiocommunication capabilities can be in the form of a Wi-Fi connection, aBluetooth connection, a low-energy Bluetooth connection, or any otherform of wireless tethering or near field communication. In still otherembodiments, the activity tracking device 100 can communicate with othercomputing devices using a wired connection (not shown). As mentioned,the environmental sensors 118 can detect motion of the activity trackingdevice 100.

The motion can be activity of the user, such as walking, running, stairclimbing, etc. The motion can also be in the form of physical contactreceived on any surface of the activity tracking device 110, so long asthe environmental sensors 118 can detect such motion from the physicalcontact. Such physical contact may be in the form of a tap or multipletaps by a finger upon the housing of the activity tracking device 100.

FIG. 1B illustrates an example of activity tracking device 100 of FIG.1A, showing some additional example components utilized for trackingactivity and motion of the device, and associated interfaces to displayscreen 122. In one embodiment, examples of a display screen 122 caninclude, but are not limited to, liquid crystal display (LCD) screens,light emitting diode (LED) screens, organic light emitting diode (OLED)screens, plasma display screens, etc.

As shown in FIG. 1B, the activity tracking device 100 includes logic158. Logic 158 may include activity tracking logic 140, motion-activatedmessaging logic 142, display interface logic 144, alarm management logic146, wireless communication logic 148, processor 106, and sensors 156.Additionally, storage (e.g. memory) 108, and a battery 154 can beintegrated within the activity tracking device 100. The activitytracking logic 140 can include logic that is configured to processmotion data produced by sensors 156, so as to quantify the motion andproduce identifiable metrics associated with the motion.

Some motions will produce and quantify various types of metrics, such asstep count, stairs climbed, distance traveled, very active minutes,calories burned, etc. The physical contact logic 142 can include logicthat calculates or determines when particular physical contact canqualify as an input. To qualify as an input, the physical contactdetected by sensors 156 should have a particular pattern that isidentifiable as input. For example, the input may be predefined to be adouble tap input, and the physical contact logic 142 can analyze themotion to determine if a double tap indeed occurred in response toanalyzing the sensor data produced by sensors 156.

The display interface logic 144 is configured to interface with theprocessor and the motion-activated messaging logic to determine whenspecific messages will be displayed on the display screen 122 of theactivity tracking device 100. The display interface logic 144 can act toturn on the screen, display metric information, display characters oralphanumeric information, display graphical user interface graphics, orcombinations thereof. Alarm management logic 146 can function to providea user interface and settings for managing and receiving input from auser to set an alarm. The alarm management logic can interface with atimekeeping module (e.g., clock, calendar, time zone, etc.), and cantrigger the activation of an alarm. The alarm can be in the form of anaudible alarm or a non-audible alarm.

A non-audible alarm can provide such alarm by way of a vibration. Thevibration can be produced by a motor integrated in the activity trackingdevice 100. The vibration can be defined to include various vibrationpatterns, intensities, and custom set patterns. The vibration producedby the motor or motors of the activity tracking device 100 can bemanaged by the alarm management logic 146 in conjunction with processingby the processor 106. The wireless communication logic 148 is configuredfor communication of the activity tracking device with another computingdevice by way of a wireless signal. The wireless signal can be in theform of a radio signal. As noted above, the radio signal can be in theform of a Wi-Fi signal, a Bluetooth signal, a low energy Bluetoothsignal, or combinations thereof. The wireless communication logic caninterface with the processor 106, storage 108 and battery 154 of device100, for transferring activity data, which may be in the form of motiondata or processed motion data, stored in the storage 108 to thecomputing device.

In one embodiment, processor 106 functions in conjunction with thevarious logic components 140, 142, 144, 146, and 148. The processor 106can, in one embodiment, provide the functionality of any one or all ofthe logic components. In other embodiments, multiple chips can be usedto separate the processing performed by any one of the logic componentsand the processor 106. Sensors 156 can communicate via a bus with theprocessor 106 and/or the logic components. The storage 108 is also incommunication with the bus for providing storage of the motion dataprocessed or tracked by the activity tracking device 100. Battery 154 isprovided for providing power to the activity tracking device 100.

FIG. 2 illustrates an example of activity tracking device 100 incommunication with a remote device 200. Remote device 200 is a computingdevice that is capable of communicating wirelessly with activitytracking device 100 and with the Internet 160. Remote device 200 cansupport installation and execution of applications. Such applicationscan include an activity tracking application 202. Activity trackingapplication 202 can be downloaded from a server. The server can be aspecialized server or a server that provides applications to devices,such as an application store. Once the activity tracking application 202is installed in the remote device 200, the remote device 200 cancommunicate or be set to communicate with activity tracking device 100(Device A). The remote device 200 can be a smartphone, a handheldcomputer, a tablet computer, a laptop computer, a desktop computer, orany other computing device capable of wirelessly interfacing with DeviceA and the Internet.

In one embodiment, remote device 200 communicates with activity trackingdevice 100 over a Bluetooth connection. In one embodiment, the Bluetoothconnection is a low energy Bluetooth connection (e.g., Bluetooth LE,BLE, or Bluetooth Smart). Low energy Bluetooth is configured forproviding low power consumption relative to standard Bluetoothcircuitry. Low energy Bluetooth uses, in one embodiment, a 2.4 GHz radiofrequency, which allows for dual mode devices to share a single radioantenna. In one embodiment, low energy Bluetooth connections canfunction at distances up to 50 meters, with over the air data ratesranging between 1-3 megabits (Mb) per second. In one embodiment, aproximity distance for communication can be defined by the particularwireless link, and is not tied to any specific standard. It should beunderstood that the proximity distance limitation will change inaccordance with changes to existing standards and in view of futurestandards and/or circuitry and capabilities.

Remote device 200 can also communicate with the Internet 160 using anInternet connection. The Internet connection of the remote device 200can include cellular connections, wireless connections such as Wi-Fi,and combinations thereof (such as connections to switches betweendifferent types of connection links). The remote device, as mentionedabove, can be a smartphone or tablet computer, or any other type ofcomputing device having access to the Internet and with capabilities forcommunicating with the activity tracking device 100.

A server 220 is also provided, which is interfaced with the Internet160. The server 220 can include a number of applications that servicethe activity tracking device 100, and the associated users of theactivity tracking device 100 by way of user accounts. For example, theserver 220 can include an activity management application 224. Theactivity management application 224 can include logic for providingaccess to various devices 100, which are associated with user accountsmanaged by server 220. Server 220 can include storage 226 that includesvarious user profiles associated with the various user accounts. Theuser account 228 a for user A and the user account 228 n for user N areshown to include various information.

The information can include, without limitation, data associated withmotion-activated messaging 230, user data, etc. As will be described ingreater detail below, the motion-activated messaging data 230 includesinformation regarding a user's preferences, settings, and configurationswhich are settable by the user or set by default at the server 220 whenaccessing a respective user account. The storage 226 will include anynumber of user profiles, depending on the number of registered usershaving user accounts for their respective activity tracking devices. Itshould also be noted that a single user account can have various ormultiple devices associated therewith, and the multiple devices can beindividually customized, managed and accessed by a user. In oneembodiment, the server 220 provides access to a user to view the userdata 232 associated with activity tracking device.

The data viewable by the user includes the tracked motion data, which isprocessed to identify a plurality of metrics associated with the motiondata. The metrics are shown in various graphical user interfaces of awebsite enabled by the server 220. The website can include various pageswith graphical user interfaces for rendering and displaying the variousmetrics for view by the user associated with the user account. In oneembodiment, the website can also include interfaces that allow for dataentry and configuration by the user.

FIG. 3A illustrates a perspective view of a portable activity monitoringdevice, in accordance with an embodiment of the invention. The activitymonitoring device 300 is shown to include a display 302 for displayingvarious data such as text or images. In one embodiment, the display 302can be configured to display video. In the illustrated embodiment, thedisplay 302 is currently displaying a step count, indicating the numberof steps taken that have been detected by the activity monitoring device300 over some defined time period (e.g. the current day or week). Theactivity monitoring device 300 is also shown to include a button 304. Inone embodiment, the button 304 may be pressed to cycle the display ofvarious fitness statistics which have been stored on the device 300. Byway of example, these may include a number of steps taken, a number offloors climbed, distance traveled, a number of active minutes, a numberof calories burned, an activity amount remaining in order to reach aparticular goal, etc. Additionally, the button 304 may be pressed toturn on/off the display 302.

In some embodiments, additional information that may be of use to a usermay be accessed by pressing the button 304, such as a current date ortime, a battery charge level, a date/time of the device's last data sync(i.e. transfer of data from the activity monitoring device 300 to anexternal device), a pairing mode for pairing the activity monitoringdevice to an external device, an option to reset a fitness activitycounter, an option to turn the device off, etc. Additionally, it shouldbe appreciated that the button may be pressed in various ways tofacilitate access to various features. By way of example, the button maybe pressed once, pressed and held, pressed twice in rapid succession,etc. For example, pressing and holding the button 304 may turn thedevice 300 on or off.

FIG. 3B illustrates a top view of the activity monitoring device 300, inaccordance with an embodiment of the invention. In the illustratedembodiment, a number of floors climbed is currently displayed on thedisplay 302 of the activity monitoring device 300.

FIG. 3C illustrates a top view of the activity monitoring device 300disposed in a carrying case 306, in accordance with an embodiment of theinvention. The carrying case 306 defines a sheath 308 which extendsaround the sides and back of the activity monitoring device 300 so as tosecure it in the carrying case 306, while leaving exposed the topsurface of the activity monitoring device 300.

FIG. 3D illustrates a side view of the activity monitoring device 300disposed in carrying case 306. As can be seen, the carrying case 306includes an extension 310 which extends adjacent to the sheath 308, thusallowing the carrying case 306 to function as a clip, so that the device300 and carrying case 306 can be attached to a user (e.g. attached tothe user's clothing).

FIG. 4 conceptually illustrates the display of a motion-activatedmessage on a portable activity monitoring device, in accordance with anembodiment of the invention. In one embodiment, a message can bedisplayed on the display 302 of the activity monitoring device 300 inresponse to detection of a movement of the device 300 from a stationaryposition.

The stationary position can be defined to require the device to bemaintained in a non-moving or stationary state for a predefined lengthof time. For example, in one embodiment, the stationary positionrequires the device to be not moving for approximately two to threeseconds. In other embodiments, the stationary position is defined torequire the device to be not moving for any specified length of time.

Furthermore, it will be appreciated that the stationary state may bedefined by the absence of movements exceeding a predefined threshold fora specified length of time. It should be appreciated that the specifictypes of movements and the predefined threshold can be defined invarious ways. For example, in one embodiment, the movement is defined bythe sensor output of motion-sensitive hardware included in the activitymonitoring device, such as accelerometers, gravitometers, gyroscopes,etc., and the predefined threshold may be defined by a specificmagnitude of a given sensor output (e.g. detected acceleration of thedevice exceeds an acceleration threshold). It will be appreciated that acombination of sensor outputs and corresponding thresholds can beconsidered. In one embodiment, a weighted combination (e.g., a weightedsum) of motion sensor outputs is defined and compared against apredefined threshold. In this manner, certain types of movements may beprioritized over others for purposes of identifying movement from astationary state. For example, in one embodiment, translational movementof the device is prioritized over rotational movement, such that sensoroutputs which are indicative of translational movement are more highlyweighted than sensor outputs which are indicative of rotationalmovement.

In other embodiments, the detected movement and corresponding predefinedthreshold can be defined based on particular types of movements whichare determined or derived from motion sensor output. For example, in oneembodiment, a distance moved is determined for the device, and thedevice is defined to be in a stationary state so long as the distancemoved by the device does not exceed a predefined distance threshold. Inone embodiment, the detection of the distance moved is reset following aperiod of zero movement. In another embodiment, the detection of thedistance moved is cumulative. By defining the stationary state based onthe absence of movement exceeding a predefined threshold, false positivemovements can be avoided, so that motion-activated messages are notdisplayed when the movements are of low significance or unlikely to bethe result of intentional movement of the device warranting display of amotion-activated message.

Additionally, the stationary position can be defined to require not onlya lack of movement of the activity monitoring device 300, but also aspecific orientation of the activity monitoring device 300 inthree-dimensional space. For example, in one embodiment, the device 300is required to be in a substantially horizontal orientation, that is,the orientation that the device 300 has when it is laying on asubstantially horizontal flat surface, with the top side of the device300 (the side on which the display 302 may be viewed by a user) facingupward.

Thus, in accordance with the foregoing, a motion-activated message canbe displayed when the following events are detected: non-movement of thedevice; orientation of the activity monitoring device in a specifiedorientation; maintenance of the non-movement and specified orientationfor a minimum specified length of time; and, following the maintenanceof the non-movement and specified orientation, movement of the activitymonitoring device (e.g. translational and/or rotational movement). Thecompletion of the preceding events can be configured to triggerpresentation of a motion-activated message on the display 302 of theactivity monitoring device 300.

As shown with continued reference to FIG. 4, the activity monitoringdevice 300 is detected to be in a stationary position for at least apredefined length of time, following which the device 300 is picked upby a hand 400 of a user. The detection of this movement of the device300 triggers the presentation of a motion-activated message (“Hithere!”) on the display 302. Upon pressing the button 304 of theactivity monitoring device 300, the motion-activated message ceases tobe displayed; and in one embodiment, a fitness activity statistic, suchas the user's step count, is presented on the display 302.

FIG. 5A illustrates a cross-section view of a portable activitymonitoring device, in accordance with an embodiment of the invention. Asshown, the activity monitoring device 500 is held in a case 502, whichincludes a sheath portion 504 for securing the device 500 and a clipextension 506 that abuts the sheath portion 504 to enable the case 502to be clipped to an object, such as an article of clothing. The activitymonitoring device and case may be similar to or the same as thatdescribed with reference to FIGS. 3A, 3B, 3C, and 3D. The activitymonitoring device 500 includes a button 508, which is disposed on thetop surface of the device 500. In the illustrated embodiment, the case502 is shown resting on a substantially horizontal planar surface 510 inan orientation wherein the outward-facing side of the clip extension 506faces downward and touches the surface 510. As such, the activitymonitoring device 500 is therefore oriented with its top surface facingupward.

It should be appreciated that the orientation of the device 500 may besubstantially horizontal, or may have a specific tilt depending upon thespecific configuration of the case 502, which determines how the device500 will be oriented when the case 502 is resting on the surface 510 asshown. For example, assuming that the activity monitoring device 500 hasa shape that is elongated in a (lengthwise) direction that issubstantially orthogonal to the cross-sectional plane shown in FIG. 5A,then the activity monitoring device 500 may be substantially horizontalalong its lengthwise direction, or may have a specific lengthwise tilt,when the case is situated on the surface 510 as shown.

It will be appreciated that the configuration of the case 502 incombination with its particular orientation on the surface 510 willdetermine the orientation of the activity monitoring device 500. In oneembodiment, the specific orientation of the activity monitoring device500 when positioned as shown in FIG. 5A can be detected. That is, thedevice 500 can be configured to detect when it is positioned so as tohave such an orientation, and upon maintenance of the orientation forsome predefined time period, the device 500 can be configured to triggerdisplay of a message when the device 500 is moved again.

FIG. 5B illustrates a cross-section view of a portable activitymonitoring device, in accordance with an embodiment of the invention. Inthe illustrated embodiment, the case 502 is shown resting on its side onthe surface 510, such that side portions of the sheath 504 and extensionclip 506 contact the surface 510. In this configuration as shown, theactivity monitoring device 500 is also tilted on its (lengthwise) sideby an angle θ measured relative to a direction substantially orthogonalto the top surface of the device 500. This tilted configuration of thedevice 500 resulting from the configuration of the case 502 represents astable orientation of the case 502 and device 500. That is, it ispossible for a user to place the case 502 and device 500 on asubstantially horizontal surface in a tilted orientation that will bestable over time.

As such, the orientation of the device in the illustrated embodiment canbe detected. When the orientation is detected for a minimum predefinedtime, subsequent movement of the device from such an orientation can beconfigured to trigger presentation of a motion-activated message on thedisplay of the device 500.

FIG. 5C illustrates the activity monitoring device 500 placedupside-down on the substantially horizontal surface 510. In thisorientation, the top surface of the activity monitoring device facesdownward towards the surface 510. This orientation of the device 500 isanother stable orientation, and can be detected by the device 500. Ashas been discussed, when the orientation is detected as being maintainedfor a predefined amount of time, subsequent movement of the device 500from the detected orientation can be configured to trigger display of amessage on the display of the device 500.

Though reference has been made to an activity monitoring device having agenerally elongated shape, it should be appreciated that this formfactor for an activity monitoring device is provided by way of example,and not by way of limitation. For example, FIG. 6 illustrates anactivity monitoring device in the form of a wearable wrist attachabledevice, in accordance with an embodiment of the invention. The activitymonitoring device 600 includes a display 602 for displaying variouskinds of information, including motion-activated messages in accordancewith various embodiments described herein.

In one embodiment, the device 600 can be configured to display amotion-activated message on the display 602 when the device 600 is movedfrom a stable stationary position in which the device 600 lays on itsside on a substantially horizontal surface. In the stationary position,an outer edge of the band of the wrist attachable device 600 willcontact the surface on which the device 600 rests, and the display 602will have a sideways orientation. It will be appreciated that the device600 has two such possible stable stationary positions, one in which thedevice rests on a right side of the display, and another in which thedevice rests on the left side of the display. Movement from these stablestationary positions may trigger presentation of a motion-activatedmessage on the display 602.

In other embodiments, a recognizable motion can be detected and may beconfigured to trigger display of a motion-activated message. Forexample, with continued reference to the activity monitoring device 600,a detected movement of the device 600 indicating that a user wearing thedevice has raised their arm so as to view the display 602 may beconfigured to trigger display of a motion-activated message. Such amotion of the device 600 may be that resulting from simultaneous liftingand pronation of the user's forearm, by way of example. It should beappreciated that a similar concept can be extended to other types ofmotions and other form factors for the activity monitoring device,wherein an identifiable motion of the activity monitoring devicetriggers display of a motion-activated message.

FIG. 7 conceptually illustrates a process for displaying amotion-activated message on an activity monitoring device, in accordancewith an embodiment of the invention. In one embodiment, a plurality ofmotion-activated messages 700 are stored on the activity monitoringdevice 706. In the illustrated embodiment, the messages 700 includevarious Messages A, B, C, etc. Each message defines a portion of textfor display on the display 708 of the activity monitoring device 706. Byway of example, Message A is defined by the text “Hi there!”; Message Bis defined by the text “Walk me”; etc.

To determine which one of the messages 700 to display, the messages 700may be ranked (ref. 702) based on various factors, including withoutlimitation, time/date, prior display, activity/inactivity of the user asdetected by the device 706, etc. Additional exemplary factors which maybe utilized to rank, or otherwise determine selection from, a pluralityof messages, are discussed in further detail below. As indicated at ref.704, one of the messages is selected for display, based at least in parton the determined ranking. The selected message is displayed on thedisplay 708 of the activity monitoring device 706. It will beappreciated that the presentation of the selected message may bescrolled across the display 708 if the length of the selected message istoo long to permit the entirety of the selected message to be displayedsimultaneously.

FIG. 8 conceptually illustrates components of an activity monitoringdevice, in accordance with an embodiment of the invention. As shown, theactivity monitoring device 800 is defined to include motion sensors 806,which may include, without limitation, accelerometers, gyroscopes,magnetometers, motion sensitive contact switches, or othermotion-sensing hardware. Additionally, the device 800 can include otherenvironmental or biometric sensors 807, as discussed elsewhere herein.An activity processor 808 processes sensor output data generated by thesensors 806 and 807 to determine activity by the user, such as a numberof steps taken, changes in altitude, periods of activity or inactivity,calories burned, etc. These activity data are stored in an activity datastorage 810. It will be appreciated that raw sensor data can also bestored for later processing.

The device 800 further includes a motion activated message data storage812 which contains message data defining various messages that can bepresented based on motion of the device following a detected stationarystate. Motion activated message display logic 814 is configured todetermine when to display a motion activated message as well as theparticular message that is displayed. The motion activated messagedisplay logic 814 includes activation logic 816. In one embodiment, theactivation logic 816 is configured to identify, based on sensor datareceived from the motion sensors 806, when the device 800 is resting ina predefined orientation. As has been discussed, the predefinedorientation may correspond to various possible resting orientations ofthe device 800 when it is placed on a substantially horizontal flatsurface.

The activation logic 816 determines when the device 800 is continuouslyoriented in the predefined orientation for a specified minimum period oftime. By way of example, the specified minimum period of time may bedefined in the range of 2 to 5 seconds, 5 to 10 seconds, 10 seconds to 1min, 1 to 10 min, or any other defined period of time. In oneembodiment, the specified minimum period of time may be determined basedon a user defined setting. In yet another embodiment, the specifiedminimum period of time may vary depending upon various factors, such astime of day, the amount of activity or inactivity recently associatedwith the device 800, etc.

When the activation logic 816 determines that the device 800 hascontinuously maintained the predefined orientation for the requisiteminimum period of time, then the activation logic 816 is configured todetect a subsequent movement of the device 800 from the predefinedorientation, based on sensor data from the motion sensors 806. Upon suchdetection of movement, the activation logic is configured to triggerselection and display of a motion activated message on the device 800.

In various embodiments, it will be appreciated that the activation logic816 can be configured to consider other factors or purposes ofdetermining when to trigger selection and display of a motion activatedmessage. For example, a user interacting with the device 800 may placethe device 800 on a flat surface while its display is still active. Atimer can be configured to automatically turn off the display after agiven amount of time in which interactivity with the display is notdetected (e.g. a button on the device 800 which controls the operationof the display is not pressed). Thus in one embodiment, the activationlogic 816 is configured to determine a current active or inactive stateof the display 830, and does not commence its procedure for determiningwhen to trigger the motion activated message unless the display iscurrently inactive or turned off.

In another embodiment, the activation logic 816 will not commence itsactivation procedure unless ambient light levels detected by the device800 are above a predefined threshold. This may prevent the unnecessarydisplay of a motion activated message when the device 800 is in a darklocation, such as a pocket of a user, or a purse or bag, by way ofexample.

In another embodiment, the activation logic 816 will not trigger amotion-activated message during a time period for which an event isscheduled in a calendar of the user, such as a meeting or other type ofevent. This will prevent the display of motion-activated messages whenthe user is scheduled, and therefore expected, to be preoccupied withsome activity. In one embodiment, this is facilitated viasynchronization operations between the device 800 and another computingdevice which includes a calendar for the user, such as a smart phone orcomputer. During synchronization operations, the calendar of the user(on the additional device to which the device 800 syncs) is accessed todetermine event scheduling information. This information defines timeperiods for events which have been scheduled on the calendar. At leastthe start and end times for the scheduled events can be transmitted tothe device 800 and utilized to define time periods during whichmotion-activated messages will not be displayed.

In another embodiment, the activation logic 816 is configured to nottrigger a motion-activated message when it is determined that the useris engaged in an activity during which it is expected that the user willbe unavailable to view a motion-activated message. For example, in oneembodiment, if it is determined that the device is currently moving in amotor vehicle such as a car (e.g. based on GPS data and/or motion data),the activation logic 816 may be configured to not trigger amotion-activated message.

When the activation logic 816 determines that a motion activated messageis to be displayed, as discussed above, then selection logic 818 isengaged to select a message from the message data storage 812 forpresentation. The selection logic 818 can be configured to select themessage based on a variety of factors as discussed elsewhere herein. Byway of example, the device 800 includes a clock 822, which provides acurrent date and time, which may be utilized by the selection logic 818to determine which message to present. In one embodiment, the selectionlogic 818 determines a ranked order for a plurality of messages storedin the message data storage 812, and identifies a specific message forpresentation based on the ranked order. The motion activated messagedisplay logic 814 is configured to render the selected message on thedisplay 830 of the device 800 via a display controller 828.

The motion activated message display logic 814 further includesdeactivation logic 820 which is configured to deactivate the operationof the display logic 814 under certain conditions. For example, when auser presses a button 824 to interact with the device 800, this maytrigger deactivation logic 822 to deactivate the message display logic814. As discussed herein, input received from the button 824 may triggerthe display of various activity metrics by metrics display logic 826.Thus, pressing the button 824 will cause any motion activated messagethat is currently displayed on the display 830 to be replaced by variousmetrics or other information, the display of which is triggered by abutton press.

In other embodiments, the display of a motion activated message can beterminated in response to other types of interaction or the lackthereof. For example, a motion activated message may be configured to bedisplayed for a limited amount of time, whereupon if no additionalinteraction with the device 800 is detected, then rendering of themotion activated message is terminated, and the display is turned off.In such an embodiment, the deactivation logic 820 can be configured toinclude a timer that is activated when a motion activated message isrendered by the display logic 814. Upon the expiration of the timer,then the display of the motion activated message is stopped. In arelated embodiment, upon the expiration of a limited amount of time, thedisplay of the motion activated message is ended and replaced withdisplay of other information automatically, such as a current time,activity metric, or any other information which the device 800 may beconfigured to display.

In another embodiment, the display of a motion activated message isterminated upon the detection of a specific kind of physical interactionwith the device 800, e.g. shaking the device, tapping the device,touching or swiping a touchscreen on the device, etc. Additionally,these types of physical interactions with the device 800 can beconfigured to trigger display of other information replacing thepreviously displayed motion activated message on the display 830.

The device 800 also includes synchronization logic 804 which isconfigured to handle synchronization of data with another device or witha remote server or cloud-based service. The activity monitoring device800 is configured to wirelessly transmit and receive data, with wirelesscommunications being handled by a wireless controller 802.Synchronization logic 804 is configured to upload activity data from theactivity data storage 810. The synchronization logic 804 is alsoconfigured to download motion activated message data from a remotestorage location to the motion activated message data storage 812. Inthis manner, the synchronization logic 84 updates the messages which arestored in the message data storage 812. It should be appreciated thatthe synchronization logic 804 may also be configured to effect deletionof messages from the motion activated message data storage 812.

FIG. 9 conceptually illustrates selection of a motion activated messageat an activity monitoring device based on a variety of factors, inaccordance with an embodiment of the invention. In the illustratedembodiment, a device motion activated message selection engine 900 isshown. The message selection engine 900 is configured to select amessage for display on an activity monitoring device (ref. 902) inresponse to detection of movement of the device from a predefinedstationary orientation.

In one embodiment, a message may be selected based on a current time ofday. For example, a message such as “good morning” may be selected whenthe current time is in the morning. A message may also be selected basedon the current date or day of the week. For example, a message such as“TGIF” may be selected on a Friday. In another embodiment, a message maybe selected based on a current location of the device. For example, ifthe user travels to a new location such as the city of San Francisco,then a message may be configured to welcome the user to the newlocation, such as “welcome to San Francisco.”

In one embodiment, a message may be selected based on the activity of auser as determined via the activity monitoring device. For example, ifthe user has recently been determined to have taken a certain number ofsteps, then a message may be selected congratulating the user on havingtaken that many steps. In message may also be selected based on theinactivity of the user is determined by the activity monitoring device.For example, if the device has been resting without movement for anextended period of time, then a message may be selected that isconfigured to encourage the user to engage in fitness activity orotherwise engage with the device, such as “walk me.”

In one embodiment, a message may be selected at random, or based on arandom number. In another embodiment, a message may be selected based onprior message selection, so as to avoid displaying the same message tothe user in a relatively short time span.

In some embodiments, a message may be selected for display based onvarious sensed conditions. For example, a message may be selected basedon an environmental condition which the activity monitoring device iscapable of detecting, such as ambient light, temperature, ambientpressure, altitude, humidity, ambient sound, orientation, etc.

FIG. 10 conceptually illustrates a system for determining motionactivated messages to be presented on an activity monitoring device, inaccordance with an embodiment of the invention. An activity monitoringdevice 1000 is shown to include synchronization logic 1002. Thesynchronization logic 1002 includes a message update module 1004 that isconfigured to update motion activated message data that is stored in amotion activated message data storage 1008. The synchronization logic1002 further includes an activity data update module 1006 that isconfigured to manage activity data stored in the activity data storage1010, including uploading of activity data as well as deletion ofactivity data in accordance with the embodiments described herein.

The activity monitoring device 1000 communicates to a user device 1020,that in turn communicates with a remote server 1050 via a network 1040.The user device 1020 may be a mobile device or any other type ofcomputing device capable of performing the functionality describedherein. In the illustrated embodiment, the user device 1020 includes acalendar module 1022 that is configured to maintain a personal calendarof the user. The calendar may be synchronized to a cloud-based calendarservice 1074, which may be accessed via a calendar API 1076.Additionally, the user device 1020 includes a GPS module 1024 that isconfigured to determine a geo-location of the user device 1020.

The user device 1020 includes an application 1026, which may be abrowser or a dedicated application that is configured to interface withthe activity monitoring device 1000 as well as the server 1050. Theapplication 1026 defines a graphical user interface 1028 through whichthe user may control the operation of the application 1026. Theapplication 1026 further defines an activity analyzer 1030 which isconfigured to analyze activity data received from the activitymonitoring device 1000. A synchronization handler 1032 is configured tohandle synchronization operations between the activity monitoringdevice, the user device 1020, and cloud-based data storage accessed viathe server 1050. For example, the sync handler 1032 may communicate withthe activity data update module 1006 defined by the sync logic 1002 ofthe activity monitoring device 1000 in order to facilitate uploading ofactivity data from the activity monitoring device 1000 to the userdevice 1020. The uploaded activity data may be further processed by theactivity analyzer 1030, and/or may be transmitted via network 1040 to anactivity data manager 1052 of the server 1050, for storage in acloud-based activity data storage 1054. An activity analyzer 1056 of thecloud-based system is configured to analyze the activity data stored inthe activity data 1054, and may generate additional activity data thatare also stored in the activity data storage 1054.

The server includes a motion-activated message synchronization modulethat is configured to select messages and download them to the activitymonitoring device. The downloading of selected messages is mediated bythe sync handler 1032 of the user device 1020, with which a messageupdate module 1004 of the activity monitoring device 1000 communicatesto receive message data for storage in the message data storage 1008. Inother words, the message data is transferred from the server 1050 to theuser device 1020, and the user device 1020 in turn transfers the messagedata to the activity monitoring device for storage. In this manner, themotion activated message data on the activity monitoring device isupdated by the remote server 1050. It should be appreciated that thetransfers of the message data may occur in immediate succession when theuser device 1020 is simultaneously connected to both the server 1050 andthe activity monitoring device 1000. However, when the user device 1020is not connected to the activity monitoring device 1000, then messagedata may be transferred by the server 1050 to the user device 1020 andtemporarily stored at the user device 1020 until the activity monitoringdevice is connected to the user device 1020, at which time the messagedata may then be transferred to the activity monitoring device 1000.

In addition to transfers of message data defining specific motionactivated messages to the activity monitoring device 1000, the motionactivated message synchronization module 1058 of the server 1050 mayadditionally be configured to effect other changes to the message datastored at the activity monitoring device 1000. For example, commands orupdates may be sent to the activity monitoring device 1002 to manage themessage data stored in the message data storage 1008. Examples of suchcommands or updates include, without limitation, deletion of messages,modification of messages, changes to metadata associated with messages,etc.

In the illustrated embodiment, the message synchronization module 1058includes a message selection engine 1060 that is configured to selectone or more messages to be transferred to the activity monitoring device1000. A plurality of messages that are available for selection arestored in a message data storage 1062. A message manager 1064 isprovided for managing the messages stored in the message data storage1062. In one embodiment, the message manager 1064 provides an interfacewhereby an editor may create new messages, or edit or delete existingmessages.

The selection engine 1060 is configured to select messages based on avariety of factors. By way of example, selection engine 1060 can beconfigured to identify selected messages based on activity data that isassociated with the activity monitoring device 1000, as stored in theactivity data storage 1054. Such activity data can include variousfitness metrics and other types of data which are determined based onthe monitored activity of the activity monitoring device 1000. Theselection engine 1060 may also select messages based on the user profileassociated with a user of the activity monitoring device 1000. In theillustrated embodiment, the user profile may be defined in a profiledata storage 1066. By way of example and not limitation, a user profilemay define various pieces of information about a given user, such as theuser's age, gender, residence, height, weight, preferences, etc. Theuser profile can include a historical activity profile of the user basedon the user's activity data and fitness metrics. In this manner,different messages may be selected based on, for example, whether theuser is historically more sedentary or more active.

It will be appreciated that activity data may be defined by values,levels, metrics, etc. of particular activities which are associated tospecific times or time periods. The activity data which are recordedover time can therefore define an activity history for a given user. Itis noted that the granularity of such time associations may vary inaccordance with the specific activity being tracked or otherconsiderations such as a predefined goal or, a predefined threshold fordefining or triggering a motion-activated message. As one example of anactivity whose levels may be defined with varying time-associatedgranularity, consider that a user's stepcount might be determined on aper minute basis, per hour, per day, per week, per month, etc.Furthermore, a predefined threshold might be defined so that amotion-activated message is defined or triggered (i.e. selected or cuedfor motion-activated display) when the user achieves a given number ofsteps in a given time period (e.g. x number of steps in a day). Asanother example, a user's heart rate may be monitored over the course ofa given time period, and a corresponding motion-activated message can bedefined or triggered based on the user's heart rate data. It should beunderstood that similar concepts may be applied for any other activitydiscussed herein.

Thus in some embodiments, an activity history for a given user candefine levels of activity that are associated to specific time periods,as determined from data recorded by a given activity tracking device towhich the user is associated. Motion-activated messages can be definedand/or triggered based on the activity history of the user. In thismanner, the motion-activated messages that are presented to the user arecustomized to the user's activity history, thereby providing apersonalized experience the user.

In one embodiment, the message selection engine 1060 can be configuredto select messages based on nutrition data which is stored in anutrition data storage 1080. The nutrition data for a given user caninclude information about the user's nutrition, such as meal informationincluding foods/drinks that the user has consumed and the times theywere ingested, diet plan information, etc.

In one embodiment, the selection engine 1060 is configured to identifyselected messages for transfer to the activity monitoring device 1000based on current or predicted weather information. The weatherinformation can be obtained from a weather service 1068, via an API 1070according to which weather information is made available.

In one embodiment, the message selection engine 1060 is configured toidentify selected messages based on social network data that isassociated with the user of the activity monitoring device 1000. In theillustrated embodiment, the social network data can be obtained from asocial network service provider 1072 via an API 1074. By way of example,social network data can include activity of the user on the socialnetwork, such as posts or comments, as well as information relating tothe social graph of the user on the social network, such as identifiedfriends of the user from the user social graph and their activity on thesocial network.

In one embodiment, the selection engine 1060 is configured to selectmessages based on calendar events that are associated with the user ofthe activity monitoring device 1000. In order to determine calendarevents, a calendar service 1076 may be accessed via an API 1078. Thecalendar service 1076 is configured to maintain a calendar associatedwith the user that defines various events and their dates/times.

Though in the foregoing description, the activity monitoring device 1000is shown to communicate with a user device 1020, which in turncommunicates with the server 1050 over a network 1040, in otherembodiments, some or all of the functionality defined by the user device1020 may be included in or otherwise performed by the activitymonitoring device 1000. Thus, in such embodiments, the activitymonitoring device itself may communicate directly with the server 1050over the network 1040 in order to perform data synchronization and otheroperations such as downloading selected messages to the activitymonitoring device 1000, as has been described.

FIG. 11 conceptually illustrates various factors which may be consideredfor purposes of selecting one or more messages to be sent to an activitymonitoring device for display in response to motion activation, inaccordance with an embodiment of the invention. In the illustratedembodiment, a server-side motion activated message selection engine 1100is configured to select messages based on various factors or inputs. Theselected messages are sent to an activity monitoring device (ref. 1102).

In one embodiment, the selection engine 1100 is configured to identifymessages for selection based on demographic data associated with a userof the activity monitoring device, such as age, gender, ethnicity,height, weight, medical conditions, etc. For example, age-appropriatemessages may be selected based on the user's age. In one embodiment, theselection engine 1100 is configured to select messages based on anidentified location of the user. The location can be defined to varyingdegrees of specificity, such as by identifying a country, state, city,address, landmark, business, GPS coordinates, or other information whichdefines a location of the user. The location can be a current locationof the user, or another location associated with the user, such as aresidence or work address. By way of example, messages in theappropriate language may be provided based on location information. Ormessages may reflect aspects of the locality of the user. For example,if the user is determined to be located near a park, then a message maybe selected which encourage the user to go for a walk or run in thepark.

In one embodiment, the selection engine 1100 is configured to selectmessages based on preferences or settings which are associated to theuser. These may include, without limitation, fitness metric preferencessuch as which fitness metrics the user prefers, activity interestsassociated with the user, etc.

In one embodiment, the selection engine 1100 is configured to selectmessages based on fitness-related goals which may be user-defined goalsor system-identified milestones. For example, a message may congratulatethe user on achieving a goal, or encourage a user to perform activity infurtherance of a goal/milestone. Examples of goals include, withoutlimitation, walking a certain number of steps, burning a certain numberof calories, accruing a certain number of active minutes, climbing acertain height (possibly represented by an equivalent number ofstairs/floors), etc.

In one embodiment, the selection engine 1100 is configured to selectmessages based on events stored in a calendar associated with the user.For example, such a message may be configured to remind the user aboutan upcoming calendar event, ask the user about a current or prior event,etc.

In one embodiment, the selection engine 1100 is configured to selectmessages based on activity or inactivity of the user, as detected by theactivity monitoring device. For example, if the user has been veryactive recently, then a selected message may congratulate the user onthe activity, encourage the user to get rest/sleep, or encourage theuser to eat appropriately. If the user has been rather inactiverecently, then a selected message may encourage the user to engage inphysical fitness activity.

In one embodiment, the selection engine 1100 is configured to selectmessages based on the current or predicted weather. For example, amessage may recommend clothing or accessories which are appropriate forthe day's weather (e.g. hat/sunglasses for sunshine, umbrella for rain,gloves/scarf for cold weather), recommend activities based on theweather (e.g. “it's a nice day for a walk”), etc.

In one embodiment, the selection engine 1100 is configured to selectmessages based on the current season. For example, during particularholidays or seasons, messages may be selected which are indicative ofthose holidays or seasons (e.g. “happy labor day”; “spring is in theair”).

In one embodiment, the selection engine 1100 is configured to selectmessages based on events occurring. For example, a message may ask orinform a user about an upcoming fitness-related event (e.g. a 10K run),or other types of events (e.g. concerts, sporting events, festivals,shows, etc.).

In one embodiment, the selection engine 1100 is configured to selectmessages based on the current date or time, day of the week, month, orother indicator of time.

In one embodiment, the selection engine 1100 is configured to selectmessages based on previously selected messages which have beentransferred to the activity monitoring device. For example, messageswhich have been recently transferred may not be selected so as to avoidduplication.

In one embodiment, the selection engine 1100 is configured to selectmessages based on nutrition data associated with the user.

In one embodiment, the selection engine 1100 is configured to selectmessages based on data or activity of the user on a social network, orthat of members of the user's social graph. For example, social activityof the user may indicate an interest in basketball, and a messagerelating to basketball may be selected.

In one embodiment, a message may be generated by a secondary user, to bepresented as a motion-activated message on the primary user's activitymonitoring device, as discussed in further detail below. Such a messagemay be prioritized for transmission to the primary user's activitymonitoring device.

It will be appreciated that the foregoing examples of factors accordingto which messages may be selected for transmission to an activitymonitoring device, are provided by way of example and not by way oflimitation. In other embodiments, additional factors may be consideredby a message selection engine in accordance with the principlesdescribed herein.

FIG. 12 illustrates a system for enabling a first user to generate amessage that will be displayed to a second user in response to motion ofan activity monitoring device of the second user, in accordance with anembodiment of the invention. In the illustrated embodiment, a user 1200interacts with the user device 1202. The user device 1202 can be anycomputing device, and as shown, includes an application or browser 1204that is configured to access a user account which may define activityinformation as well as social network information associated with theuser 1200. For purposes of illustration, a web browser typeimplementation is described, though it should be appreciated that inother embodiments, a dedicated application can be configured to enablethe functionality described herein.

The browser 1204 communicates over a network 1208 to a Web server 1210.The Web server 1210 includes an authentication module 1212 that isconfigured to authenticate the user 1200 to their account. A requesthandler 1214 is provided for servicing requests from the browser 1204.Activity module 1216 is provided for accessing and managing activitydata associated with the user 1200 that is stored in the activity datastorage 1220. Additionally, a social module 1218 is provided foraccessing and managing social data associated with the user 1200 that isstored in a social data storage 1222 it should be appreciated that theuser 1200 may have access to activity data as well as social dataassociated with members of the user's social graph.

The browser 1204 communicates with the Web server 1210 to provide aninterface on the user device 1202 whereby the user 1200 can access theiractivity data and social data, and perhaps view related activity oftheir friends on their social network. In one embodiment, the browsermay access and present a message generation interface 1206 which may beutilized by the user 1200 generate a custom message to another user1232. The message generation interface 1206 can be configured to allowthe user 1200 to enter text or other types of messaging data to define acustom user-generated message 1234. The user-generated message 1234 isprovided to an activity monitoring device 1230 associated with the user1232 in accordance with embodiments previously described herein. Forexample, the activity monitoring device 1230 may communicate with a userdevice 1226 having a synchronization module 1228, which in turncommunicates with a synchronization server 1224 to effect downloading ofthe user generated message 1234 to the activity monitoring device 1230.Then, when the activity monitoring device 1230 is placed in a predefinedstationary state, the user generated message 1234 may be displayed whenthe activity monitoring device 1230 is subsequently moved from thestationary state.

FIG. 13 illustrates an interface for accessing activity data associatedwith the user of an activity monitoring device, in accordance with anembodiment of the invention. Broadly speaking, the illustrated interfaceis defined by various components or tiles which are configured todisplay activity related information. It should be appreciated that theillustrated components provided merely by way of example and notlimitation, and that in other embodiments, additional components ortypes of information can be presented through an interface to the user.

A recent activity module 1300 provides a graph illustrating recentactivity recorded by the activity monitoring device of the user. Asshown, various selectable options enable the user to view the number ofsteps they have recently taken, calories burned, or floors climbed. Asteps module 1302 is configured to present a number of steps which havebeen taken by the user. It will be appreciated that the number of stepsmay be counted for a limited time period, such as the number of stepstaken during the current day or current week. The steps module 1302 canalso be configured to graphically illustrate the number of steps takenin relation to a goal or some predefined milestone or threshold, or anumber of steps remaining to reach the goal or milestone.

A floors climbed module 1304 is configured to present a number of floorsclimbed within a given time period. It should be appreciated that thenumber of floors climbed is a conversion indicative of altitude changesthat have been detected by the activity monitoring device. For example,if the activity monitoring device detects that the user has ascended atotal of 100 feet and each floor is defined as the equivalent of 10feet, then the 100 feet of ascension will be represented as a climb of10 floors. The floors module 1304 can also be configured to indicate therelationship between the number of floors climbed and a goal, as well asthe number of floors remaining to reach said goal.

A friends module 1306 is configured to display friends of the user fromthe user's social graph. Activity data associated with the user'sfriends can also be shown. In one embodiment, the user may access amessage generation interface from the friends module 1306 to generate acustom user-defined message for display at the friend's activitymonitoring device in response to movement from a stationary state, inaccordance with the principles described herein. By way of example,clicking on or otherwise selecting a specific friend is presented in thefriends module 1306 may provide access to options including an option togenerate the custom motion activated message.

A weight module 1308 is configured to present a weight of the user, or aweight remaining to be lost by the user, or other weight relatedinformation. The distance module 1310 is configured to present adistance traveled by the user as measured based on data obtained fromthe user's activity monitoring device. The sleep module 1312 isconfigured to display an amount of sleep which the user has attained. Acalories module 1314 is configured to display a number of caloriesburned by the user. A very active minutes module 1316 is configured todisplay the number of minutes of very active or vigorous activity by theuser. A top badges module 1318 is configured to display badges or goalsor milestones which the user has achieved. It will be appreciated thatany of the foregoing modules may be configured to display specificmetrics in relation to predefined goals, or amounts remaining to achievesuch goals.

Though various embodiments have been described with reference tomotion-activated messages which consist of text, it should beappreciated that the concepts relating to motion-activated messages mayalso apply to other forms of information which may be displayed orotherwise rendered in response to detected movement of an activitymonitoring device from a stable stationary position. For example, amotion-activated “message” may be defined by an image, video, audio,animation, haptic event, or any other type of information orcommunicative event that may be presented through an activity monitoringdevice in accordance with embodiments of the invention.

In the foregoing embodiments, messages have been displayed on anactivity monitoring device in response to detected movement of thedevice from a stationary position defined by a predefined orientation.However, in other embodiments, a message may be configured to bedisplayed on the activity monitoring device in response to other typesof changes which are detectable by the activity monitoring device.

Broadly speaking, the activity monitoring device can be configured todisplay a message in response to detecting a change from a non-userinteractive state to a user interactive state. In embodiments presentedabove, the non-user interactive state can be defined by a stationarystate in which non-movement of the device for a predefined period oftime is detected. A change to a user-interactive state is detected whena movement of the device from the stationary state is detected.

In another embodiment, a change from a non-user interactive state to auser interactive state can include detecting a movement of the devicefrom a first orientation to a second orientation, or detecting apredefined motion or movement of the device. For example, in anembodiment where the activity monitoring device is worn on a user'swrist, when the user maneuvers his/her arm to view the display on theactivity monitoring device, such a movement or change in orientation canbe detected, and in response, a message may be displayed. In anotherembodiment, the motion of the user flicking their wrist may be detected,and a message can be displayed in response.

The concept can be further extended to encompass different detectedactivity states, wherein the non-user interactive state might be definedby a particular detected physical activity state of the user (e.g.running, cycling, etc.). If the user moves or re-orients the device soas to be able to view its display, then such a movement orre-orientation may be detected, and a message displayed in response.

In another embodiment, the non-user interactive state can includedetecting a charging state of the device, wherein the device isconnected to a charger. The change to the user-interactive state can bedefined by detecting a change of the device from the charging state to anon-charging state, wherein the device is disconnected from the charger.

In still other embodiments, the change from the non-user interactivestate to the user-interactive state can be defined by detected actions,such as a button press or an interaction with a touchscreen (e.g. touch,swipe, gesture, etc.).

In another embodiment, a message may be displayed in response to achange in temperature detected at the activity monitoring device. Such amessage may be displayed in response to a change in the temperaturehaving a magnitude greater than or equal to a predefined threshold,either an increase or a decrease in temperature. In a relatedembodiment, a message may be displayed in response to detection by theactivity monitoring device of a specific ambient temperature. In thismanner, message display is triggered by reaching specific ambienttemperatures.

In another embodiment, a message can be configured to be displayed inresponse to changes in ambient light levels. For example, a suddenchange from very low ambient light levels to comparatively high ambientlight levels may indicate that the activity monitoring device has beenremoved from the user's pocket or otherwise taken out of a dark locationfor viewing by the user. Hence, the activity monitoring device may beconfigured to display a message in response to detection of such achange in ambient light.

In another embodiment, the activity monitoring device may be configuredto display a message in response to changes in ambient sound levels.

The aforementioned methods and systems for displaying motion-activatedmessages on an activity monitoring device serve to improve the userexperience of interacting with the activity monitoring device. Bydisplaying messages in response to motion from a stationary state, theactivity monitoring device can react to the user's intent to interactwith or otherwise utilize the device, as indicated by the motion.Furthermore, by intelligently selecting messages for display in a mannerthat is customized for the individual user, the experience can be highlypersonalized, and thus may appear to imbue the activity monitoringdevice with an apparent voice or persona.

FIG. 14 illustrates an example where various types of activities ofusers 1400A-1400I can be captured by activity tracking devices 100, inaccordance with one embodiment of the present invention. As shown, thevarious types of activities can generate different types of data thatcan be captured by the activity tracking device 100. The data, which canbe represented as motion data (or processed motion data) can betransferred 1420 to a network 176 for processing and saving by a server,as described above. In one embodiment, the activity tracking device 100can communicate to a device using a wireless connection, and the deviceis capable of communicating and synchronizing the captured data with anapplication running on the server. In one embodiment, an applicationrunning on a local device, such as a smart phone or tablet or smartwatch can capture or receive data from the activity tracking device 100and represent the tract motion data in a number of metrics.

In one embodiment, the device collects one or more types ofphysiological and/or environmental data from embedded sensors and/orexternal devices and communicates or relays such metric information toother devices, including devices capable of serving asInternet-accessible data sources, thus permitting the collected data tobe viewed, for example, using a web browser or network-basedapplication. For example, while the user is wearing an activity trackingdevice, the device may calculate and store the user's step count usingone or more sensors. The device then transmits data representative ofthe user's step count to an account on a web service, computer, mobilephone, or health station where the data may be stored, processed, andvisualized by the user. Indeed, the device may measure or calculate aplurality of other physiological metrics in addition to, or in place of,the user's step count.

Some physiological metrics include, but are not limited to, energyexpenditure (for example, calorie burn), floors climbed and/ordescended, heart rate, heart rate variability, heart rate recovery,location and/or heading (for example, through GPS), elevation,ambulatory speed and/or distance traveled, swimming lap count, bicycledistance and/or speed, blood pressure, blood glucose, skin conduction,skin and/or body temperature, electromyography, electroencephalography,weight, body fat, caloric intake, nutritional intake from food,medication intake, sleep periods (i.e., clock time), sleep phases, sleepquality and/or duration, pH levels, hydration levels, and respirationrate. The device may also measure or calculate metrics related to theenvironment around the user such as barometric pressure, weatherconditions (for example, temperature, humidity, pollen count, airquality, rain/snow conditions, wind speed), light exposure (for example,ambient light, UV light exposure, time and/or duration spent indarkness), noise exposure, radiation exposure, and magnetic field.

Still further, other metrics can include, without limitation, caloriesburned by a user (or energy expended), weight gained by a user, weightlost by a user, stairs ascended, e.g., climbed, etc., by a user, stairsdescended by a user, steps taken by a user during walking or running, anumber of rotations of a bicycle pedal rotated by a user, sedentaryactivity data, driving a vehicle, a number of golf swings taken by auser, a number of forehands of a sport played by a user, a number ofbackhands of a sport played by a user, or a combination thereof. In someembodiments, sedentary activity data is referred to herein as inactiveactivity data or as passive activity data. In some embodiments, when auser is not sedentary and is not sleeping, the user is active. In someembodiments, a user may stand on a monitoring device that determines aphysiological parameter of the user. For example, a user stands on ascale that measures a weight, a body fat percentage, a biomass index, ora combination thereof, of the user.

Furthermore, the device or the system collating the data streams maycalculate metrics derived from this data. For example, the device orsystem may calculate the user's stress and/or relaxation levels througha combination of heart rate variability, skin conduction, noisepollution, and sleep quality. In another example, the device or systemmay determine the efficacy of a medical intervention (for example,medication) through the combination of medication intake, sleep and/oractivity data. In yet another example, the device or system maydetermine the efficacy of an allergy medication through the combinationof pollen data, medication intake, sleep and/or activity data. Theseexamples are provided for illustration only and are not intended to belimiting or exhaustive.

This information can be associated to the users account, which can bemanaged by an activity management application on the server. Theactivity management application can provide access to the users accountand data saved thereon. The activity manager application running on theserver can be in the form of a web application. The web application canprovide access to a number of websites screens and pages that illustrateinformation regarding the metrics in various formats. This informationcan be viewed by the user, and synchronized with a computing device ofthe user, such as a smart phone.

In one embodiment, the data captured by the activity tracking device 100is received by the computing device, and the data is synchronized withthe activity measured application on the server. In this example, dataviewable on the computing device (e.g. smart phone) using an activitytracking application (app) can be synchronized with the data present onthe server, and associated with the user's account. In this way,information entered into the activity tracking application on thecomputing device can be synchronized with application illustrated in thevarious screens of the activity management application provided by theserver on the website.

The user can therefore access the data associated with the user accountusing any device having access to the Internet. Data received by thenetwork 176 can then be synchronized with the user's various devices,and analytics on the server can provide data analysis to providerecommendations for additional activity, and or improvements in physicalhealth. The process therefore continues where data is captured,analyzed, synchronized, and recommendations are produced. In someembodiments, the captured data can be itemized and partitioned based onthe type of activity being performed, and such information can beprovided to the user on the website via graphical user interfaces, or byway of the application executed on the users smart phone (by way ofgraphical user interfaces).

In an embodiment, the sensor or sensors of a device 100 can determine orcapture data to determine an amount of movement of the monitoring deviceover a period of time. The sensors can include, for example, anaccelerometer, a magnetometer, a gyroscope, or combinations thereof.Broadly speaking, these sensors are inertial sensors, which capture somemovement data, in response to the device 100 being moved. The amount ofmovement (e.g., motion sensed) may occur when the user is performing anactivity of climbing stairs over the time period, walking, running, etc.The monitoring device may be worn on a wrist, carried by a user, worn onclothing (using a clip, or placed in a pocket), attached to a leg orfoot, attached to the user's chest, waist, or integrated in an articleof clothing such as a shirt, hat, pants, blouse, glasses, and the like.These examples are not limiting to all the possible ways the sensors ofthe device can be associated with a user or thing being monitored.

In other embodiments, a biological sensor can determine any number ofphysiological characteristics of a user. As another example, thebiological sensor may determine heart rate, a hydration level, body fat,bone density, fingerprint data, sweat rate, and/or a bioimpedance of theuser. Examples of the biological sensors include, without limitation, abiometric sensor, a physiological parameter sensor, a pedometer, or acombination thereof.

In some embodiments, data associated with the user's activity can bemonitored by the applications on the server and the users device, andactivity associated with the user's friends, acquaintances, or socialnetwork peers can also be shared, based on the user's authorization.This provides for the ability for friends to compete regarding theirfitness, achieve goals, receive badges for achieving goals, getreminders for achieving such goals, rewards or discounts for achievingcertain goals, etc.

As noted, an activity tracking device 100 can communicate with acomputing device (e.g., a smartphone, a tablet computer, a desktopcomputer, or computer device having wireless communication access and/oraccess to the Internet). The computing device, in turn, can communicateover a network, such as the Internet or an Intranet to provide datasynchronization. The network may be a wide area network, a local areanetwork, or a combination thereof. The network may be coupled to one ormore servers, one or more virtual machines, or a combination thereof. Aserver, a virtual machine, a controller of a monitoring device, or acontroller of a computing device is sometimes referred to herein as acomputing resource. Examples of a controller include a processor and amemory device.

In one embodiment, the processor may be a general purpose processor. Inanother embodiment, the processor can be a customized processorconfigured to run specific algorithms or operations. Such processors caninclude digital signal processors (DSPs), which are designed to executeor interact with specific chips, signals, wires, and perform certainalgorithms, processes, state diagrams, feedback, detection, execution,or the like. In some embodiments, a processor can include or beinterfaced with an application specific integrated circuit (ASIC), aprogrammable logic device (PLD), a central processing unit (CPU), or acombination thereof, etc.

In some embodiments, one or more chips, modules, devices, or logic canbe defined to execute instructions or logic, which collectively can beviewed or characterized to be a processor. Therefore, it should beunderstood that a processor does not necessarily have to be one singlechip or module, but can be defined from a collection of electronic orconnecting components, logic, firmware, code, and combinations thereof.

Examples of a memory device include a random access memory (RAM) and aread-only memory (ROM). A memory device may be a Flash memory, aredundant array of disks (RAID), a hard disk, or a combination thereof.

Embodiments described in the present disclosure may be practiced withvarious computer system configurations including hand-held devices,microprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers and the like. Severalembodiments described in the present disclosure can also be practiced indistributed computing environments where tasks are performed by remoteprocessing devices that are linked through a wire-based or wirelessnetwork.

With the above embodiments in mind, it should be understood that anumber of embodiments described in the present disclosure can employvarious computer-implemented operations involving data stored incomputer systems. These operations are those requiring physicalmanipulation of physical quantities. Any of the operations describedherein that form part of various embodiments described in the presentdisclosure are useful machine operations. Several embodiments describedin the present disclosure also relate to a device or an apparatus forperforming these operations. The apparatus can be specially constructedfor a purpose, or the apparatus can be a computer selectively activatedor configured by a computer program stored in the computer. Inparticular, various machines can be used with computer programs writtenin accordance with the teachings herein, or it may be more convenient toconstruct a more specialized apparatus to perform the requiredoperations.

Various embodiments described in the present disclosure can also beembodied as computer-readable code on a non-transitory computer-readablemedium. The computer-readable medium is any data storage device that canstore data, which can thereafter be read by a computer system. Examplesof the computer-readable medium include hard drives, network attachedstorage (NAS), ROM, RAM, compact disc-ROMs (CD-ROMs), CD-recordables(CD-Rs), CD-rewritables (RWs), magnetic tapes and other optical andnon-optical data storage devices. The computer-readable medium caninclude computer-readable tangible medium distributed over anetwork-coupled computer system so that the computer-readable code isstored and executed in a distributed fashion.

Although the method operations were described in a specific order, itshould be understood that other housekeeping operations may be performedin between operations, or operations may be performed in an order otherthan that shown, or operations may be adjusted so that they occur atslightly different times, or may be distributed in a system which allowsthe occurrence of the processing operations at various intervalsassociated with the processing.

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, it will be apparent thatcertain changes and modifications can be practiced within the scope ofthe appended claims. Accordingly, the present embodiments are to beconsidered as illustrative and not restrictive, and the variousembodiments described in the present disclosure are not to be limited tothe details given herein, but may be modified within the scope andequivalents of the appended claims.

What is claimed is:
 1. An activity monitoring device, comprising: amemory configured to store a plurality of messages, each of theplurality of messages being predefined activity related statementsdirected to a user of the activity monitoring device; a motion sensor; adisplay; logic configured to download the plurality of messages to thememory, wherein the downloading includes identifying the activitymonitoring device to a server, the server being configured to access auser account associated with the activity monitoring device, theplurality of messages being selected by the server based on the useraccount; logic implemented by a circuit configured to detect, based onoutput of the motion sensor, a stationary state of the activitymonitoring device and a subsequent movement of the activity monitoringdevice from the stationary state, and, in response to detecting themovement from the stationary state, select one of the plurality ofmessages from the memory, and render the selected message on thedisplay; wherein selecting one of the plurality of messages includesdetermining a selection condition that includes one or more of a currentdate, a location of the activity monitoring device, a current season, ora current weather.
 2. The activity monitoring device of claim 1, whereindetecting the stationary state includes detecting non-movement of theactivity monitoring device for a predefined time period.
 3. The activitymonitoring device of claim 1, wherein at least one of the plurality ofmessages is defined based on an activity history of a user associatedwith the activity monitoring device.
 4. The activity monitoring deviceof claim 3, wherein the activity history is defined by levels ofactivity associated to specific time periods.
 5. The activity monitoringdevice of claim 1, wherein the operations of selecting and displayingare not performed during a time period for which an event is scheduledin a calendar of a user of the activity monitoring device.
 6. Theactivity monitoring device of claim 1, wherein the activity monitoringdevice is configured to detect one or more of the following activitiesby a user: steps taken, energy consumed, elevation gained, activeminutes.
 7. The activity monitoring device of claim 1, wherein detectingthe stationary state includes detecting a predefined orientation of theactivity monitoring device and maintenance of the predefined orientationfor a predefined time period.
 8. A method for presenting a message on anactivity monitoring device, comprising: storing a plurality of messagesto a message storage device of the activity monitoring device, each ofthe plurality of messages being predefined activity related statementsdirected to a user of the activity monitoring device, wherein storingthe plurality of messages includes identifying the activity monitoringdevice to a server and downloading the plurality of messages from theserver, the server being configured to access a user account associatedwith the activity monitoring device, the plurality of messages beingselected by the server based on the user account; detecting a stationarystate of the activity monitoring device; detecting a movement of theactivity monitoring device from the stationary state; in response todetecting the movement from the stationary state, selecting one of theplurality of messages from the message storage device of the activitymonitoring device; and displaying the selected message on the activitymonitoring device; wherein selecting one of the plurality of messagesincludes determining a selection condition that includes an activityhistory of a user associated with the activity monitoring device.
 9. Themethod of claim 8, wherein detecting the stationary state includesdetecting non-movement of the activity monitoring device for apredefined time period.
 10. The method of claim 8, wherein the selectioncondition includes one or more of a length of time of the stationarystate, a current time of day, a current location of the activitymonitoring device, or an activity history associated with a user of theactivity monitoring device.
 11. The method of claim 8, wherein at leastone of the plurality of messages is defined based on one or more of acurrent date, a location of the activity monitoring device, a currentseason, or a current weather.
 12. The method of claim 8, wherein theactivity history is defined by levels of activity associated to specifictime periods.
 13. The method of claim 8, wherein the activity monitoringdevice is configured to detect one or more of the following activitiesby a user: steps taken, energy consumed, elevation gained, activeminutes.
 14. The method of claim 8, wherein detecting the stationarystate includes detecting a predefined orientation of the activitymonitoring device and maintenance of the predefined orientation for apredefined time period.
 15. An activity monitoring device, comprising: amemory configured to store a plurality of messages, at least one of theplurality of messages defining a statement directed to a user of theactivity monitoring device; a motion sensor; a display; logic configuredto download the plurality of messages to the memory, wherein thedownloading includes identifying the activity monitoring device to aserver, the server being configured to access a user account associatedwith the activity monitoring device, the plurality of messages beingselected by the server based on the user account; logic implemented by acircuit configured to detect, based on output of the motion sensor, anon-user interactive state of the activity monitoring device and asubsequent change of the activity monitoring device from the non-userinteractive state to a user-interactive state, and, in response todetecting the change from the non-user interactive state to theuser-interactive state, select one of the plurality of messages from thememory, and render the selected message on the display; wherein theselection of the message is based on a fitness-related activity of asecondary user on a social networking service, the secondary user beinga member of a social graph of the user on the social networking service.16. The activity monitoring device of claim 15, wherein detecting thenon-user interactive state includes detecting non-movement of theactivity monitoring device for a predefined time period, thenon-movement of the activity monitoring device being defined by anabsence of movements exceeding a predefined threshold.
 17. The activitymonitoring device of claim 15, wherein at least one of the plurality ofmessages is defined based on an activity history of a user associatedwith the activity monitoring device.
 18. The activity monitoring deviceof claim 17, wherein the activity history is defined by levels ofactivity associated to specific time periods.
 19. The activitymonitoring device of claim 15, wherein the operations of selecting anddisplaying are not performed during a time period for which an event isscheduled in a calendar of a user of the activity monitoring device. 20.The activity monitoring device of claim 15, wherein detecting thenon-user interactive state includes detecting a predefined orientationof the activity monitoring device and maintenance of the predefinedorientation for a predefined time period.
 21. A method for presenting amessage on an activity monitoring device, comprising: storing aplurality of messages to a message storage device of the activitymonitoring device, at least one of the plurality of messages defining astatement directed to a user of the activity monitoring device, whereinstoring the plurality of messages includes identifying the activitymonitoring device to a server and downloading the plurality of messagesfrom the server, the server being configured to access a user accountassociated with the activity monitoring device, the plurality ofmessages being selected by the server based on the user account;detecting a stationary state of the activity monitoring device, whereindetecting the stationary state includes detecting a predefinedorientation of the activity monitoring device; detecting a movement ofthe activity monitoring device from the stationary state; in response todetecting the movement from the stationary state, selecting one of theplurality of messages from the message storage device of the activitymonitoring device; and displaying the selected message on the activitymonitoring device; wherein selecting one of the plurality of messagesincludes determining a selection condition that includes an activityhistory of a user associated with the activity monitoring device. 22.The method of claim 21, wherein detecting the stationary state includesdetecting maintenance of the predefined orientation of the activitymonitoring device for a predefined time period.
 23. The method of claim21, wherein the predefined orientation is defined by a substantiallyhorizontal orientation of a top surface of the activity monitoringdevice at which a display is defined.
 24. The method of claim 21,wherein detecting the stationary state includes detecting one of aplurality of predefined orientations.
 25. The method of claim 24,wherein the plurality of predefined orientations are defined by stableorientations of the activity monitoring device on a substantiallyhorizontal surface.
 26. The method of claim 21, wherein the stationarystate is defined by an absence of movements exceeding a predefinedthreshold.
 27. The method of claim 21, wherein the selection conditionincludes one or more of a length of time of the stationary state, acurrent time of day, a current location of the activity monitoringdevice; and wherein at least one of the plurality of messages is definedbased on one or more of a current date, a location of the activitymonitoring device, a current season, or a current weather.